#pragma once
#include "programstate.h"

namespace Putin{
/**
 * The lobby game state
 * Handles the interaction and graphics prior to the real game 
 * has been initialized
 */
class Lobby : public ProgramState
{
public:
	Lobby(void);
	virtual~ Lobby(void);

	/**
	 * Initialize subsystems
	 */
	virtual bool initialize();
	
	virtual void terminate();

	/**
	 * Frame update
	 */
	virtual bool update();
	
	/**
	 * Perform render routines
	 */ 
	virtual bool render();
	
	/**
	 * Load resources such as sounds and textures
	 */
	virtual bool loadResources();

	/**
	 * Fires when mouse is clicked
	 */
	virtual void mouseDown(int x, int y, int mb);
	
	/**
	 * Fires when the mouse is released
	 */
	virtual void mouseUp(int x, int y, int mb);
	virtual void mouseMove(int x, int y);
	virtual void keyDown(char key);
	virtual void keyUp(char key);
	virtual void keyPress(char c);
};


} // end namespace Putin